﻿namespace UserManagement.Dal
{
    /// <summary>
    /// This is the interface between domain entity to database.
    /// Client can query the entity through this interface and
    /// get UnitOfWork for change the data in database
    /// </summary>
    public interface ISessionFactory
    {
        #region methods

        /// <summary>
        /// Gets the current unit of work
        /// </summary>
        /// <returns>The unique UOW for current domain entity</returns>
        IUnitOfWork CurrentUnitOfWork { get; }

        #endregion methods
    }
}